package com.dq.Week3.day13.map;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class HashMapDemo02 {
    //运用hashmap计算两数之和
    public static void main(String[] args) {
        int[] arr = {2,5,5,6,8,4};

        List<Integer>  list= dealArr(arr);
        if (list!=null)
        {
            System.out.println(list);
        }
    }

    private static List<Integer> dealArr(int[] arr) {
        List<Integer> list = new ArrayList<>();
        Map<Integer, Integer> map = new HashMap<>();
//        数据插入到map中
//        for (int i = 0; i < arr.length; i++) {
//            map.put(i,arr[i]);
//        }
//
//        for (int i = 0; i < map.size()-1; i++) {
//            for (int j = i; j < map.size()-1; j++) {
//                if (map.get(i)+map.get(j)==10)
//                {
//                    list.add(i);
//                    list.add(j);
//                }
//            }

//        }

        for (int i = 0; i < arr.length; i++) {
            int value = arr[i];
            int target = 10 - value;
            if(map.containsKey(target))
            {
                list.add(i);
                list.add(map.get(target));

            }
            map.put(arr[i],i);
        }



        return list;
    }


}

